#ifndef VISIBILITYDISPLAYFORM_H
#define VISIBILITYDISPLAYFORM_H

#include <QWidget>
#include <QChart>
#include <QSplineSeries>
#include <QStandardItemModel>
#include <QThread>
#include "../../protocol/visibilityprotocol.h"

namespace Ui {
class VisibilityDisplayForm;
}

class VisibilityDisplayForm : public QWidget
{
    Q_OBJECT
public:
    explicit VisibilityDisplayForm(QWidget *parent = nullptr);
    ~VisibilityDisplayForm();

public:
    void InitTreeView();
    void InitChart();

signals:
    void updateView(protocol::VisibilityProtocol);

public slots:
    void slot_Receive_DeviceVisibilityProtocol(protocol::VisibilityProtocol);

private:
    QSplineSeries* m_series1;
    QSplineSeries* m_series10;
    QChart *m_chart;
    QStandardItemModel m_model;
    QDateTime m_startTime;
    QThread* m_thread;

    //用于维护chart的y轴范围，m_visYMax[0]为所以能见度中的最大，之后为可能最大的能见度，是一个递减数组
    //m_visYMax[0]为所有能见度中的最小，之后的元素为可能最小的能见度，是一个递增数组，
    QVector<int> m_visYMax;
    QVector<int> m_visYMin;

private:
    Ui::VisibilityDisplayForm *ui;
};

#endif // VISIBILITYDISPLAYFORM_H
